

var DiscriminadorMarketing = {
                    Publicidad : 1,   
                    Promocion : 2,        
                    Comunicacion : 3
                    };

function AccionDeMarketingEdit(tipoAccion) {

    var _I = this;

    _I.tipoAccionDeMarketing = tipoAccion;

    _I.cboTipoAccionDeMarketing = $('#cboTipoAccionDeMarketing');
    _I.txtFechaEventoDesde = $('#txtFechaDesde');
    _I.txtFechaEventoHasta = $('#txtFechaHasta');
    _I.txtNombre = $('#txtNombre');
    _I.txtDescripcion = $('#txtDescripcion');
    _I.txtInversion = $('#txtInversion');
    _I.txtROIDinero = $('#txtROIDinero');
    _I.txtROIPorcentaje = $('#txtROIPorcentaje');
    _I.txtEficaciaEsperada = $('#txtEficaciaEsperada');

    //if (isNaN($('#inputid').val()))

    this.ValidateGuardar = function () {

        var errorPanel = new ErrorPanel();
        var validador = new AdValidator();
        var isError = false;
        var strError = '';

        errorPanel.removeErrors();

        var separador = '';

        if (_I.txtNombre.val() == '' || _I.txtNombre.val() == _I.txtNombre.attr('title')) {
            isError = true;
            errorPanel.appendAsteriskToJQControl(_I.txtNombre);

            strError += separador;
            strError += JsLocalization_AccionDeMarketingEdit_IngreseNombre;
            separador = '<br />';
        }

        if (_I.txtFechaEventoDesde.val() == '') {
            isError = true;
            errorPanel.appendAsteriskToJQControl(_I.txtFechaEventoDesde);

            strError += separador;
            strError += JsLocalization_AccionDeMarketingEdit_FechaEventoDesde;
            separador = '<br />';
        }

        if (_I.tipoAccionDeMarketing == DiscriminadorMarketing.Comunicacion) {

            if (_I.txtInversion.val() != _I.txtInversion.attr('title') && !validador.isStringADecimal(_I.txtInversion.val())) {
                isError = true;
                errorPanel.appendAsteriskToJQControl(_I.txtInversion);

                strError += separador;
                strError += JsLocalization_AccionDeMarketingEdit_Inversion_Validacion;
                separador = '<br />';
            }

            if (_I.txtROIDinero.val() != _I.txtROIDinero.attr('title') && !validador.isStringADecimal(_I.txtROIDinero.val())) {
                isError = true;
                errorPanel.appendAsteriskToJQControl(_I.txtROIDinero);

                strError += separador;
                strError += JsLocalization_AccionDeMarketingEdit_ROIDinero_Validacion;
                separador = '<br />';
            }

            if (_I.txtROIPorcentaje.val() != _I.txtROIPorcentaje.attr('title') && !validador.isStringADecimal(_I.txtROIPorcentaje.val())) {
                isError = true;
                errorPanel.appendAsteriskToJQControl(_I.txtROIPorcentaje);

                strError += separador;
                strError += JsLocalization_AccionDeMarketingEdit_ROIPorcentaje_Validacion;
                separador = '<br />';
            }

            if (_I.txtEficaciaEsperada.val() != _I.txtEficaciaEsperada.attr('title') && !validador.isStringADecimal(_I.txtEficaciaEsperada.val())) {
                isError = true;
                errorPanel.appendAsteriskToJQControl(_I.txtEficaciaEsperada);

                strError += separador;
                strError += JsLocalization_AccionDeMarketingEdit_EficaciaEsperada_Validacion;
                separador = '<br />';
            }
        }

        if (_I.tipoAccionDeMarketing == DiscriminadorMarketing.Promocion) {
            if (_I.txtFechaEventoHasta.val() == '') {
                isError = true;
                errorPanel.appendAsteriskToJQControl(_I.txtFechaEventoHasta);

                strError += separador;
                strError += JsLocalization_AccionDeMarketingEdit_FechaEventoDesde;
                separador = '<br />';
            }
        }

        if (isError) {
            errorPanel.showError(JsLocalization_Messages_CompleteElFormulario, strError);
        }

        return !isError;
    };   
};
